The present invention relates generally to a system and method for creating and using an encrypted back-up copy of the data stored on a portable audio player.
Since the advent of the audio cassette, portable audio players have enjoyed widespread popularity. Portable audio players allow a user to listen to audio data in virtually any setting by freeing the user from the constraints imposed by bulky homebased stereo systems. Because portable audio players are often physically carried by the user, it is desirable to make them as small and lightweight as possible.
As a result of efforts to minimize their size and cost, portable audio players have traditionally had quite limited data storage capabilities. For example, most current portable audio players simply play the data stored on a single cassette tape or compact disk (CD) which is manually loaded into the player by the user. Most cassettes and CDs are capable of storing at most 70 to 75 minutes of high-quality audio data. Moreover, many of the cassettes and CDs that a user owns will contain even less data than this, since separate cassettes or CDs are typically used to record separate programs and events. Even with the advent of the digital video disk, or DVD, with a much greater storage capacity than a traditional CD, it will typically be the case that a user will own a library of many different disks, each disk containing its own unique set of data. Thus, to listen to several hours of audio data, or to listen to a variety of programs, a user must carry several tapes or CDs and manually load the next one into the player when the previous one is finished playing.
The development of effective compression techniques has enabled a greater quantity of audio data to be stored in a much smaller amount of memory. For example, the MPEG audio layer 3 compression format, or MP3, is able to compress CD-quality digital audio data by a factor of about ten, and thus enables a CD-quality audio signal to be delivered at a data rate of 128 kilobits per second. As a result, these compression techniques make it practical for a compressed audio player to use storage media other than traditional cassettes or disksxe2x80x94media that would otherwise be prohibitively expensive to use. For example, the Rio MP3 Software Player, made by Diamond Multimedia, stores data in a 32 megabyte flash memory, a type of non-volatile electronic memory that allows for writing and erasing of data. By making use of compression techniques, a user can thus store approximately 30 minutes of audio data in the flash memory, whereas without compression, only about 3 minutes of audio data could be stored. As another example, the portable audio player described in U.S. patent application Ser. No. 09/249,182, filed Feb. 12, 1999, entitled xe2x80x9cSystem and Method for Playing Compressed Audio Data,xe2x80x9d now U.S. Pat. No. 6,377,530, uses a compact, high-capacity hard disk drive to store an even greater amount of data. For instance, one embodiment of this portable audio player uses a four gigabyte hard drive to store up to approximately sixty-five hours of compressed audio data, thus enabling the user to listen to a virtually unlimited supply of audio data without having to manually insert new disks.
Compressing and copying audio data from a CD to a portable audio player, however, is a cumbersome, time-consuming process. The audio data that is stored on the portable audio player is typically acquired from CDs, which are manually loaded into the user""s personal computer and then compressed and downloaded into the portable audio player""s memory. As an example, it takes about forty minutes for a 400 MHZ personal computer to compress (into MP3 format) and download a complete 75 minute audio CD. Moreover, if the portable audio player has a large capacity (e.g. 65 hours), the mere act of inserting numerous CD""s into the personal computer will be quite labor intensive.
As a result, a user would be very upset if the compressed audio data stored on the portable audio player becomes corrupted or unreadable, as it would require the user to repeat the inconvenient, time-consuming process of loading data onto the audio player.
One way to minimize this inconvenience would be to keep a backup copy of the compressed audio data on the hard disk of the user""s personal computer or on some other storage medium. However, making a duplicate copy of the compressed audio data would be prone to unauthorized access. In addition, the user may only be permitted by law or contract to make a single useable copy of certain CDs.
Accordingly, it is an object of the present invention to provide a system and method for reducing the time necessary to reload data onto a portable audio player, while avoiding the problems associated with creating a second readable copy of that data.
A portable jukebox programming subsystem is used in conjunction with a computer communicatively coupled to a portable jukebox player and to a source of audio data, such as a CD. The portable jukebox programming subsystem uses a compression module to compress a portion of the audio data from the CD into compressed audio data, and transfers the compressed audio data to the portable jukebox for storage therein.
An encryption key generator to generate an encryption key as a predefined function of the audio data. An encryption module is used to encrypt the compressed audio data using the encryption key, and to then discard the encryption key. The encrypted audio data is stored in the computer""s memory in a backup file, and is not useable without the encryption key.
A backup recovery module is used to recover the encrypted backup file from the computer""s memory. The backup recovery module includes an encryption key recovery module for regenerating the encryption key from the audio data when the original CD is communicatively re-coupled to the portable jukebox programming subsystem. A decryption module is used for decrypting the encrypted backup file with the regenerated encryption key to generate recovered compressed audio data, a transfer module is used for transferring the recovered compressed audio data to the portable jukebox.
In a preferred embodiment, the backup recovery module verifies the authenticity of the audio CD before decrypting the encrypted backup file. For instance, the information stored on the audio CD (or derived from the information stored on the audio CD) can be compared with corresponding information stored in the encrypted backup file. Alternately, the backup recovery module can decrypt some or all of the audio data in the encrypted backup file and then compare the decrypted audio data with data on the audio CD before enabling the decrypted audio data to be transferred to the portable jukebox.
In one embodiment, before decrypting audio data in a backup file; the backup recovery module verifies that the computer system is coupled to the same portable jukebox as was coupled to the computer when that backup file was generated. In this embodiment, each portable jukebox has a unique identifier (e.g., serial number) associated with it. An encrypted copy of the portable jukebox identifier is stored in a header portion of each backup file, and the backup recovery module decrypts and compares the portable jukebox identifier from the file header with the portable jukebox identifier of the portable jukebox coupled to the computer system.